package com.shensi.adminCollect.domain.integral;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.shensi.adminCollect.common.annotation.Excel;
import com.shensi.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 积分消费订单对象 integral_order
 *
 * @author qujia
 * @date 2021-03-02
 */
public class IntegralOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 积分订单id */
    private Long id;

    /** 积分订单号 */
    @Excel(name = "积分订单号")
    private String integralOrderNo;

    /** 商品类型 */
    @Excel(name = "商品类型")
    private String waresType;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String waresName;

    /** 商品id */
    @Excel(name = "商品id")
    private Long waresId;

    /** 微信唯一标识 */
    @Excel(name = "微信唯一标识")
    private String unionId;

    /** 会员名称 */
    @Excel(name = "会员名称")
    private String customerName;

    /** 兑换数量 */
    @Excel(name = "兑换数量")
    private Long exchangeNum;

    /** 兑换时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "兑换时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date exchangeTime;

    /** 订单状态（1已完成，2已取消） */
    @Excel(name = "订单状态", readConverterExp = "1=已完成，2已取消")
    private String status;

    /** 订单消耗积分 */
    @Excel(name = "订单消耗积分")
    private Long integral;

    /** 油站ID */
    @Excel(name = "油站ID")
    private Long stationId;

    /** 油站名称 */
    @Excel(name = "油站名称")
    private String stationName;
    /**手机号**/
    private String mobilePhone;
    private String waresDetail;
    private String waresPic;
   //兑换消耗积分
    @Setter
    @Getter
    private Integer redemptionPoints;

    //核销时间
    @Setter
    @Getter
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date writeOffTime;
    //核销状态
    @Setter
    @Getter
    private Integer writeOffStatus;

    public String getWaresDetail() {
        return waresDetail;
    }

    public void setWaresDetail(String waresDetail) {
        this.waresDetail = waresDetail;
    }

    public String getWaresPic() {
        return waresPic;
    }

    public void setWaresPic(String waresPic) {
        this.waresPic = waresPic;
    }

    public String getMobilePhone() {
        return mobilePhone;
    }

    public void setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setIntegralOrderNo(String integralOrderNo)
    {
        this.integralOrderNo = integralOrderNo;
    }

    public String getIntegralOrderNo()
    {
        return integralOrderNo;
    }
    public void setWaresType(String waresType)
    {
        this.waresType = waresType;
    }

    public String getWaresType()
    {
        return waresType;
    }
    public void setWaresName(String waresName)
    {
        this.waresName = waresName;
    }

    public String getWaresName()
    {
        return waresName;
    }
    public void setWaresId(Long waresId)
    {
        this.waresId = waresId;
    }

    public Long getWaresId()
    {
        return waresId;
    }
    public void setUnionId(String unionId)
    {
        this.unionId = unionId;
    }

    public String getUnionId()
    {
        return unionId;
    }
    public void setCustomerName(String customerName)
    {
        this.customerName = customerName;
    }

    public String getCustomerName()
    {
        return customerName;
    }
    public void setExchangeNum(Long exchangeNum)
    {
        this.exchangeNum = exchangeNum;
    }

    public Long getExchangeNum()
    {
        return exchangeNum;
    }
    public void setExchangeTime(Date exchangeTime)
    {
        this.exchangeTime = exchangeTime;
    }

    public Date getExchangeTime()
    {
        return exchangeTime;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setIntegral(Long integral)
    {
        this.integral = integral;
    }

    public Long getIntegral()
    {
        return integral;
    }
    public void setStationId(Long stationId)
    {
        this.stationId = stationId;
    }

    public Long getStationId()
    {
        return stationId;
    }
    public void setStationName(String stationName)
    {
        this.stationName = stationName;
    }

    public String getStationName()
    {
        return stationName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("integralOrderNo", getIntegralOrderNo())
            .append("waresType", getWaresType())
            .append("waresName", getWaresName())
            .append("waresId", getWaresId())
            .append("unionId", getUnionId())
            .append("customerName", getCustomerName())
            .append("exchangeNum", getExchangeNum())
            .append("exchangeTime", getExchangeTime())
            .append("status", getStatus())
            .append("integral", getIntegral())
            .append("stationId", getStationId())
            .append("stationName", getStationName())
            .toString();
    }
}
